#pragma once
#include <iostream>
#include "util.hpp"
#include "level.hpp"
#include <thread>

// 行号
// 时间
// 线程ID
// 日志器名称
// 文件名
// 日志信息
// 日志等级

namespace zzn
{
    class LogMsg
    {
    public:
        int _line;           // 行号
        size_t _time;           // 时间
        std::thread::id _tid;   // 线程id
        std::string _name;      // 日志器
        std::string _file;      // 文件名
        std::string _payload;   // 日志信息
        LogLevel::value _level; // 日志等级

        LogMsg(int line, std::string name, std::string file, std::string &&payload, LogLevel::value level)
            : _line(line), _time(util::data::GetTime()), _tid(std::this_thread::get_id()), _name(name), _file(file), _payload(std::move(payload)), _level(level)
        {
        }
    };
}

